package TransactionImplementation

import (
	"SalaryPayment/AbstractTransaction"
	"SalaryPayment/Model"
	"SalaryPayment/ModelImplementation"
)

type ChangeCommissionTransaction struct {
	AbstractTransaction.ChangeClassificationTransaction
	itsSalary         float64
	itsCommissionRate float64
}

func (a *ChangeCommissionTransaction) GetClassification() Model.PaymentClassification {
	return ModelImplementation.NewCommissionClassification(a.itsSalary, a.itsCommissionRate)
}

func (a *ChangeCommissionTransaction) GetSchedule() Model.PaymentSchedule {
	return ModelImplementation.BiweeklySchedule{}
}
